Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 07.04.2014, 20:41
Новичок на форуме
Отправить личное сообщение для RageXL Посмотреть профиль Найти все сообщения от RageXL
 
Регистрация: 09.09.2013
Сообщений: 9

Long polling новые сообщения
Помогите реализовать Long polling.
Суть в чем - мне надо отсылать запрос на сервер и ждать ответ 10 секунд, если ответа нет, то снова отсылать запрос и ждать 10 секунд ответа.

Сервер:

$mysqli = new mysqli('localhost', 'root', '', 'test');
    if (mysqli_connect_errno()) {
        printf("error: %s\n", mysqli_connect_error());
        exit;
    }

    session_start();

    $MY_ID = $_SESSION['id'];

    while (true) {
        $result = $mysqli - > query("SELECT COUNT(*) FROM messages WHERE user_get='$MY_ID' AND status='1' ");
        if (mysqli_num_rows($result)) {
            while ($row = mysqli_fetch_array($result)) {
                echo $row[0].
                "";
            }
            flush();
            exit;
        }
        sleep(5);
    }


Клиент:
$(document).ready(function getmess(){
    $.ajax({
	url:"notif.php", 
	data:{"id":id},
	type:"POST",
	timeout: 10000,
	complete:getmess,
	success:function(result){
	$("#count").html(result);
	}
	});
});


Проблема в том, что запрос отсылается каждую секунду, что уже нарушает сам принцип long polling'а, и функция на изменения значения timeout вообще не реагирует.

Пробовал вот так
function getmess(){
	$.ajax({
		url:"notif.php",
		data:{"id":id},
		type:"GET",
		success:function(result){
			$("#count").html(result);
			setTimeout('getmess',10000);
		}
	});
}

но тогда вообще отсылается 1 запрос длинной в секунду и все функция останавливается.

Последний раз редактировалось RageXL, 15.04.2014 в 19:06.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Автоматическая подгрузка новых сообщений fi.adm AJAX и COMET 7 26.08.2013 15:37
Обновление времени для новых посетителей Grarnik Javascript под браузер 4 26.03.2013 17:27
Обновление не существующих сообщений ajax tayler882 AJAX и COMET 2 28.11.2012 17:13
Добавление в чат новых сообщений. xJAMESx jQuery 4 29.05.2012 23:13
Логика звукового уведомления о поступлении новых сообщений Триви AJAX и COMET 1 11.08.2011 02:13